
/**
 * @brief    Defines the property of connector (CWELD) elements.
 *
 * @version  0.1
 * @author   wuxingchuang
 * @date     2024.11.21
 *          _
 *      ___| |__   ___ _ __   __ _  ___  _ __   __ _
 *     / __| '_ \ / _ \ '_ \ / _` |/ _ \| '_ \ / _` |
 *     \__ \ | | |  __/ | | | (_| | (_) | | | | (_| |
 *     |___/_| |_|\___|_| |_|\__, |\___/|_| |_|\__, |
 *                           |___/             |___/
 * @copyright (c) 2024 by 神工仿真, All Rights Reserved.
 */
#pragma once
#include "DataStructure/Common/Id.h"
#include "DataStructure/Common/Real.h"
#include "DataStructure/Input/Property/PropertyBase.h"

SG_DATASTRUCTURE_FEM_NAMESPACE_OPEN

//bdf中PWELD词条的构成和帮助文档不一致，hdf5中存储的也就不一致，目前仅解析帮助文档中已有的内容。
struct PWELDData : public PropertyBase
{
    SG::DataStructure::Common::Id   m_MID      = 0;    ///<
    SG::DataStructure::Common::Real m_D        = 0.0;  ///<
    SG::DataStructure::Common::I64  m_CONNBEH  = 0;    ///<
    SG::DataStructure::Common::I64  m_CONNTYPE = 0;    ///<
    SG::DataStructure::Common::I64  m_EXTCON   = 0;    ///< OFF:0  ON:1
    SG::DataStructure::Common::I64  m_CONDTYPE = 0;    ///<
    SG::DataStructure::Common::I64  m_WELDTYPE = 0;    ///< general connector:-1    spot weld connector:0
    SG::DataStructure::Common::Real m_MINLEN   = 0;    ///< 
    SG::DataStructure::Common::Real m_MAXLEN   = 0;    ///<
    SG::DataStructure::Common::I64  m_GMCHK    = 0;    ///<
    SG::DataStructure::Common::I64  m_SPCGS    = 0;    ///<
    SG::DataStructure::Common::Real m_CMASS    = 0.0;  ///<
    SG::DataStructure::Common::Id   m_domainId = 0;    ///<
};

///< @brief 判断数据是否相等
DECLSPEC bool operator== (const PWELDData& val1, const PWELDData& val2);

SG_DATASTRUCTURE_FEM_NAMESPACE_CLOSE
